package com.hsl.housaileibot001.service;

import com.hsl.housaileibot001.document.MockQuestion;

import java.util.List;

/**
 * 模拟题目服务接口
 */
public interface MockQuestionService {

    /**
     * 保存模拟题目到数据库
     * @param mockQuestion 模拟题目实体
     * @return 保存后的模拟题目
     */
    MockQuestion save(MockQuestion mockQuestion);

    /**
     * 根据面试题ID查询有效的模拟题列表
     * @param interviewQuestionId 面试题ID
     * @return 模拟题列表
     */
    List<MockQuestion> findActiveByInterviewQuestionId(Long interviewQuestionId);

    /**
     * 根据ID查询模拟题
     * @param id 模拟题ID
     * @return 模拟题
     */
    MockQuestion findById(String id);

    /**
     * 根据面试题ID查询模拟题列表
     * @param interviewQuestionId 面试题ID
     * @return 模拟题列表
     */
    List<MockQuestion> findByInterviewQuestionId(Long interviewQuestionId);

    /**
     * 根据状态查询模拟题列表
     * @param status 状态
     * @return 模拟题列表
     */
    List<MockQuestion> findByStatus(String status);

    /**
     * 根据面试题ID和状态查询模拟题列表
     * @param interviewQuestionId 面试题ID
     * @param status 状态
     * @return 模拟题列表
     */
    List<MockQuestion> findByInterviewQuestionIdAndStatus(Long interviewQuestionId, String status);

    /**
     * 删除模拟题
     * @param id 模拟题ID
     */
    void deleteById(String id);

    /**
     * 查询所有模拟题
     * @return 模拟题列表
     */
    List<MockQuestion> findAll();
}
